Encoders are typically used to translate positional information into signals that can be processed and analyzed. Encoders are well-known in the art. For example, encoders may be obtained from BEI Technologies (Goleta, Calif., U.S.). Encoders may be optical encoders. Encoders may be incremental optical encoders or absolute optical encoders.
Generally, optical encoders (either incremental or absolute optical encoders) translate angular or linear positional information into electrical output signals. Signal processing electronics may be used to receive the output signals produced by the encoders and translate that signal information into useful information, which permits operation of machinery to be monitored and/or controlled.
Incremental encoders are characterized in that the signals produced by the encoders are always based on a reference point, or a “zero” point. For example, an incremental encoder produces a digital, square-wave pulse train that is fed into a counter chip or clock to derive the position or speed of machinery. Because the information transmitted by incremental encoders is relative to a reference point, an interruption of power to the incremental encoder results in a loss of the calibration of the encoder. Accordingly, the incremental encoder will have to be reset upon power interruptions.
Absolute encoders provide a unique digital output signal for every revolvable shaft angle, or radial increment, without regard to a reference point, or zero position. Absolute encoders can track position information even when power is removed due to unique signals produced by the absolute encoders. In that regard, absolute encoders provide positional information based on unique patterns of clear and opaque areas on their code disk (or code disks).
The code disks of absolute optical encoders rotate or incrementally rotate as the position of a device, or devices, they are coupled to changes. With each radial increment, a unique signal is output based on unique code words, as discussed herein. Signal processing devices are used to read the output signal information. Conventionally, signal processing devices are activated at a specified time to read or measure the output signal produced by the encoder.
The output signals generated by absolute optical encoders are determined by the encoder's code disks. In general, the absolute encoder code disk includes a plurality of alternately clear and opaque concentric tracks of precise patterns. Each track represents one bit of resolution. If the code track at a given position is not opaque (e.g., transparent), the bit is “on”, the output is “high”; as a binary number, the bit value is “1”. If the track at a given position is opaque, the bit is “off”, the output is “low”, and the binary number is “0”. The total number of tracks or bits determines the length of the binary code word, and the absolute encoder's resolution.
For example, eight concentric tracks result in an eight-bit-long code word, and 8 bits of resolution, capable of 256 different code words (i.e., 28 different code words). Most absolute encoders generate a digital word by optically reading a radial line of light across the code disk. An individual signal receiver (such as a light receiver) is positioned under each track, and from that, a digital representation is derived.
Absolute encoder code disks may utilize gray code to minimize ambiguities of binary code. Gray code is a way of encoding binary numbers so that only one bit changes from one code word to the next. In conventional binary code, two bits may change at the same time a code disk changes from one code word to another (for example, going from “01” to “10” in binary numerical format). A change of more than one bit at any given point in time could cause an error in interpreting the signal. In gray code, only one bit may change from one code word to the next (for example, going from “01” to “11” in binary numerical format). Thus, accuracy of reading the signal is maintained.
In order to ensure accurate readings from encoders, error checking routines are utilized. One example of an error checking routine is to use a “parity” test, as is well understood in the art. In brief, a parity test involves providing a parity bit, and adding the data bits of the code word and the parity bit, and determining whether the sum is even. If there is even parity, no parity error is indicated. Other error checking techniques include “word length” tests, which involves comparing the length of a data word received to the length of a data word that is expected. Another error checking technique includes the “framing” test, which involves checking to determine the proper start and stop bits have been received.
In many instances, such as in fields using absolute optical encoders to monitor liquid height in storage tanks, the position of an item, such as the liquid height, is continuously monitored and stored locally at the storage tank by a microprocessor provided with an absolute optical encoder. A computer system remote from the storage tank may proceed to request, produce, and process a signal from the absolute optical encoders at a rate that is typically slower than the rate at which the positional information is obtained by the microprocessor of the encoder. Error checking is performed after each request. In addition, requests may be made manually by individuals monitoring the liquid height. In certain industries, such as the petroleum industry, an error in measuring liquid height even over a small time period, may result in a significant loss of product, revenue, and time.
In addition, the code disks of absolute optical encoders are susceptible to damage or contamination, which may result in incorrect signals being generated by the encoder. For example, if dust particles, scratches, or cracks appear on the code disk, the signals received by the signal receivers may not be a true representation of the position being translated by the encoder. Code disks that are severely damaged or contaminated would cause significant signal errors resulting from the incorrect readings of the signals by the signal receivers.
Thus, there remains a need for improved methods of ensuring correct readings from encoders that reduce potential inaccuracies and/or losses caused by signal errors generated by encoders.